Members
Overall Objectives
Research Program
Application Domains
Software and Platforms
New Results
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: Software and Platforms

Psyche

Participants : Mahfuza Farooque, Stéphane Graham-Lengrand [correspondant] .

Psyche (Proof-Search factorY for Collaborative HEuristics) is a modular proof-search engine whose first version, 1.0, was released in 2012:

http://www.lix.polytechnique.fr/~lengrand/Psyche/

Its motivation is twofold:

On the one hand, prove some mathematics of the broadest range while making the most of problem-specific techniques; On the other hand, gain high confidence about the correctness of the proofs produced without having to rely on a proof-checker.

Psyche's proof-search mechanism is simply the incremental construction of proof-trees in the polarized and focused sequent calculus. Its architecture organizes an interaction between a trusted universal kernel and smart plugins that are meant be efficient at solving certain kinds of problems:

The kernel contains the mechanisms for exploring the proof-search space in a sound and complete way, taking into account branching and backtracking. The output of Psyche comes from the (trusted) kernel and is therefore correct by construction. The plugins then drive the kernel by specifying how the branches of the search space should be explored, depending on the kind of problem that is being treated. The quality of the plugin is then measured by how fast it drives the kernel towards the final answer.

In 2013, major developments were achieved in Psyche, which now handles classical propositional logic modulo a theory such as linear arithmetic, equality with uninterpreted symbols, arrays, etc. It therefore works in the same logic as Sat-Modulo-Theories (SMT) solvers and the architecture to handle such theories is the main contribution of 2013, in particular with the integration of the simplex algorithm.

Thanks to a plugin that simulates the behavior of a SAT-solver (DPLL) [21] , the new version of Psyche can now simulate the behavior of SMT-solvers.

A lot of features inspired by SAT-solvers have now been lifted to proof-search in general, such as a memoization table to record and re-use known proofs, the technique of 2-watched literals to efficiently propagate direct consequences of new hypotheses, machine learning techniques for restart policies, etc.

Psyche has been the topic of the 2013 publication [23] .